package cn.bisoft.java.bean.entity;

import java.io.Serializable;



/**
 * This is an object that contains data related to the AnteFrontFinanceAccountReport table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="AnteFrontFinanceAccountReport"
 */

public abstract class BaseAnteFrontFinanceAccountReport  implements Serializable {
	private static final long serialVersionUID = 1L;
	public static String REF = "AnteFrontFinanceAccountReport";
	public static String PROP_START_TIME = "StartTime";
	public static String PROP_DRAW_MONEY = "DrawMoney";
	public static String PROP_SETTLE_MONEY = "SettleMoney";
	public static String PROP_FILL_MONEY = "FillMoney";
	public static String PROP_SETTLEMENT_ID = "SettlementId";
	public static String PROP_ANTE_MONEY = "AnteMoney";
	public static String PROP_REPORT_ID = "ReportId";
	public static String PROP_CUR_MONEY = "CurMoney";
	public static String PROP_REPORT_TIME = "ReportTime";
	public static String PROP_STOP_TIME = "StopTime";
	public static String PROP_PRICE_MONEY = "PriceMoney";
	public static String PROP_PRE_MONEY = "PreMoney";


	// constructors
	public BaseAnteFrontFinanceAccountReport () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseAnteFrontFinanceAccountReport (java.lang.Integer reportId) {
		this.setReportId(reportId);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseAnteFrontFinanceAccountReport (
		java.lang.Integer reportId,
		java.lang.Integer settlementId,
		java.lang.Long preMoney,
		java.lang.Long fillMoney,
		java.lang.Long anteMoney,
		java.lang.Long priceMoney,
		java.lang.Long drawMoney,
		java.lang.Long curMoney,
		java.lang.Long settleMoney,
		java.util.Date startTime,
		java.util.Date stopTime,
		java.util.Date reportTime) {

		this.setReportId(reportId);
		this.setSettlementId(settlementId);
		this.setPreMoney(preMoney);
		this.setFillMoney(fillMoney);
		this.setAnteMoney(anteMoney);
		this.setPriceMoney(priceMoney);
		this.setDrawMoney(drawMoney);
		this.setCurMoney(curMoney);
		this.setSettleMoney(settleMoney);
		this.setStartTime(startTime);
		this.setStopTime(stopTime);
		this.setReportTime(reportTime);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Integer reportId;

	// fields
	private java.lang.Integer settlementId;
	private java.lang.Long preMoney;
	private java.lang.Long fillMoney;
	private java.lang.Long anteMoney;
	private java.lang.Long priceMoney;
	private java.lang.Long drawMoney;
	private java.lang.Long curMoney;
	private java.lang.Long settleMoney;
	private java.util.Date startTime;
	private java.util.Date stopTime;
	private java.util.Date reportTime;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="native"
     *  column="reportId"
     */
	public java.lang.Integer getReportId () {
		return reportId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param reportId the new ID
	 */
	public void setReportId (java.lang.Integer reportId) {
		this.reportId = reportId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: settlementId
	 */
	public java.lang.Integer getSettlementId () {
		return settlementId;
	}

	/**
	 * Set the value related to the column: settlementId
	 * @param settlementId the settlementId value
	 */
	public void setSettlementId (java.lang.Integer settlementId) {
		this.settlementId = settlementId;
	}



	/**
	 * Return the value associated with the column: preMoney
	 */
	public java.lang.Long getPreMoney () {
		return preMoney;
	}

	/**
	 * Set the value related to the column: preMoney
	 * @param preMoney the preMoney value
	 */
	public void setPreMoney (java.lang.Long preMoney) {
		this.preMoney = preMoney;
	}



	/**
	 * Return the value associated with the column: fillMoney
	 */
	public java.lang.Long getFillMoney () {
		return fillMoney;
	}

	/**
	 * Set the value related to the column: fillMoney
	 * @param fillMoney the fillMoney value
	 */
	public void setFillMoney (java.lang.Long fillMoney) {
		this.fillMoney = fillMoney;
	}



	/**
	 * Return the value associated with the column: anteMoney
	 */
	public java.lang.Long getAnteMoney () {
		return anteMoney;
	}

	/**
	 * Set the value related to the column: anteMoney
	 * @param anteMoney the anteMoney value
	 */
	public void setAnteMoney (java.lang.Long anteMoney) {
		this.anteMoney = anteMoney;
	}



	/**
	 * Return the value associated with the column: priceMoney
	 */
	public java.lang.Long getPriceMoney () {
		return priceMoney;
	}

	/**
	 * Set the value related to the column: priceMoney
	 * @param priceMoney the priceMoney value
	 */
	public void setPriceMoney (java.lang.Long priceMoney) {
		this.priceMoney = priceMoney;
	}



	/**
	 * Return the value associated with the column: drawMoney
	 */
	public java.lang.Long getDrawMoney () {
		return drawMoney;
	}

	/**
	 * Set the value related to the column: drawMoney
	 * @param drawMoney the drawMoney value
	 */
	public void setDrawMoney (java.lang.Long drawMoney) {
		this.drawMoney = drawMoney;
	}



	/**
	 * Return the value associated with the column: curMoney
	 */
	public java.lang.Long getCurMoney () {
		return curMoney;
	}

	/**
	 * Set the value related to the column: curMoney
	 * @param curMoney the curMoney value
	 */
	public void setCurMoney (java.lang.Long curMoney) {
		this.curMoney = curMoney;
	}



	/**
	 * Return the value associated with the column: settleMoney
	 */
	public java.lang.Long getSettleMoney () {
		return settleMoney;
	}

	/**
	 * Set the value related to the column: settleMoney
	 * @param settleMoney the settleMoney value
	 */
	public void setSettleMoney (java.lang.Long settleMoney) {
		this.settleMoney = settleMoney;
	}



	/**
	 * Return the value associated with the column: startTime
	 */
	public java.util.Date getStartTime () {
		return startTime;
	}

	/**
	 * Set the value related to the column: startTime
	 * @param startTime the startTime value
	 */
	public void setStartTime (java.util.Date startTime) {
		this.startTime = startTime;
	}



	/**
	 * Return the value associated with the column: stopTime
	 */
	public java.util.Date getStopTime () {
		return stopTime;
	}

	/**
	 * Set the value related to the column: stopTime
	 * @param stopTime the stopTime value
	 */
	public void setStopTime (java.util.Date stopTime) {
		this.stopTime = stopTime;
	}



	/**
	 * Return the value associated with the column: reportTime
	 */
	public java.util.Date getReportTime () {
		return reportTime;
	}

	/**
	 * Set the value related to the column: reportTime
	 * @param reportTime the reportTime value
	 */
	public void setReportTime (java.util.Date reportTime) {
		this.reportTime = reportTime;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof AnteFrontFinanceAccountReport)) return false;
		else {
			AnteFrontFinanceAccountReport anteFrontFinanceAccountReport = (AnteFrontFinanceAccountReport) obj;
			if (null == this.getReportId() || null == anteFrontFinanceAccountReport.getReportId()) return false;
			else return (this.getReportId().equals(anteFrontFinanceAccountReport.getReportId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getReportId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getReportId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}